package com.nowcoder.community.service;

/**
 * 处理赞的业务
 * @author 花木凋零成兰
 * @date 2024/3/17 19:35
 */
public interface LikeService {

    /**
     * 给别人点赞
     * @param userId 点赞用户Id
     * @param entityType 点赞实体类型
     * @param entityId  点赞实体id
     * @param entityUserId  实体用户id
     */
    void like(int userId, int entityType, int entityId, int entityUserId);

    /**
     * 查询某实体点赞的数量
     * @param entityType
     * @param entityId
     * @return
     */
    long findEntityLikeCount(int entityType, int entityId);

    /**
     * 查询某人对某实体的点赞状态
     * @param userId
     * @param entityType
     * @param entityId
     * @return
     */
    int findEntityLikeStatus(int userId, int entityType, int entityId);

    /**
     * 获取某用户获得的赞
     * @param userId
     * @return
     */
    int findUserLikeCount(int userId);

}
